package com.ccc.scala.base6_object


object Object02_Import {
  def main(args: Array[String]): Unit = {
    /*
        java import:
        1. 导入其他包中的类
        2. 静态导入

        Java中实际上并不是导包，而是 ““导类””

        scala import:
     */
    // 1. 星号 * 在Scala中有特殊用途，不能使用在import语法中，需要采用特殊符号：下划线 _
    // import java.util._
    // 2. import 关键字可以在任何地方使用
    // import java.util.Date
    // new Date()

    // 3. 可以在一行中导入同一个包中的多个类
    // import java.util.{ArrayList, List, LinkedList}

    // 4. 导包
    // import java.util
    // new util.ArrayList()

    // 5. 隐藏类
    // import java.util._
    // import java.sql.{Date => _, _} // 隐藏类
    // new Date() // Date导的是util包下的, 因为上面被隐藏了

    // 6. Scala中导入类的操作，是以相对路径（当前包路径）方式导入的
    //    如果想要使用绝对路径，需要使用特殊操作： _root_
    // println(new java.util.HashMap()) // com.ccc.scala.base6_object.java.util.HashMap@71c7db30
    // println(new _root_.java.util.HashMap()) // {}

    // 7. 可以给类起别名
    import _root_.java.util.{HashMap => javaHashMap}
    println(new javaHashMap())
  }


}

/*
package java {
  package util {
    class HashMap {

    }
  }
}
*/
